/**
 * @description 字段格式化，字段校验
 */
const verify = {
	/**
	 * @description 银行卡号加空格 1111111111111111 => 1111 1111 1111 1111
	 */
	initBankNo: function(param) {
		return param.replace(/\s/g, '').replace(/(\d{4})(?=\d)/g, "$1 ")
	},
	/**
	 * @description 银行卡号中间替换为* 1111 **** **** 1111
	 */
	hideBankNo: function(param) {
		var reg = /^(\d{4})\d+(\d{4})$/;
		return param.replace(reg, "$1 **** **** $2");
	},
	/**
	 * @description 手机号中间替换为* 18768888888 => 1876****888
	 */
	hidePhoneNo: function(param) {
		return param.substr(0,3) + "****" + param.substr(7)
	},
	/**
	 * @description 校验密码：字符不限、至少六位
	 */
	checkPsw: function(param) {
		if(param&&param.length>=6&&param.length<=12){
			let reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,12}$/
			if(reg.test(param)){
				return true
			}else{
				uni.showToast({
					title:"密码为6~12位字母加数字",
					icon:"none"
				})
			}
		}else{
			uni.showToast({
				title:"密码为6~12位字母加数字",
				icon:"none"
			})
			return false
		}
	},
	/**
	 * @description 校验表单是否有漏填
	 * @param {Object} obj 表单对象
	 * @param {Array[String]} extra 表单对象中非必填的key组成的数组
	 */
	checkForm: function(obj,extra=[]) {
		if(extra.length==0){
			for (let key in obj) {
				if (obj[key] == '') {
					uni.showToast({
						title:"请将信息填写完整",
						icon:"none"
					})
					return false
				}
			}
		}else{
			for (let key in obj) {
				for(let i=0;i<extra.length;i++){
					if (obj[key] == ''&&key!=extra[i]) {
						uni.showToast({
							title:"请将信息填写完整",
							icon:"none"
						})
						return false
					}
				}
			}
		}
		return true
	},
	/**
	 * @description 校验正规手机号
	 */
	checkPhone: function(param) {
		if(!param){
			uni.showToast({
				title: '请输入手机号',
				icon: "none"
			})
			return false
		}
		const reg = /^1[3|4|5|6|7|8|9][0-9]{9}$/;
		if (reg.test(param)) {
			return true
		} else {
			uni.showToast({
				title: '请输入合法的手机号',
				icon: "none"
			})
			return false
		}
	},
	/**
	 * @description 校验支付密码
	 */
	checkPayPsw: function(param) {
		const reg = /^\d{6}$/;
		if (reg.test(param) && param.length == 6) {
			return true
		} else {
			uni.showToast({
				title: '支付密码为6位数字',
				icon: "none"
			})
			return false
		}
	},
	checkInt: function(param){
		const reg = /^[1-9]\d*$/;
		if (reg.test(param)) {
			return true
		} else {
			uni.showToast({
				title: '求购数量请填写整数',
				icon: "none"
			})
			return false
		}
	}
}

export default verify;